Upgrade CodeQL CLI dependency to v2.25.1#192
Conversation
Dependency ReviewThe following issues were found:
Snapshot WarningsEnsure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice. License Issuespackage-lock.json
OpenSSF Scorecard
Scanned Files
|
There was a problem hiding this comment.
Pull request overview
This PR upgrades the repository’s CodeQL CLI baseline to v2.25.1, updating all version-bearing metadata and refreshing CodeQL pack lockfiles so packs remain compatible with the new CLI.
Changes:
- Bumped repo/package/server/extension/client versions from 2.25.0 → 2.25.1 and updated
.codeql-versionto v2.25.1 - Updated CodeQL pack dependencies (notably
codeql/<lang>-all) and regeneratedcodeql-pack.lock.ymlfiles across languages - Enhanced
server/scripts/upgrade-packs.shto pin resolvedcodeql/<lang>-allversions in source packs
Reviewed changes
Copilot reviewed 46 out of 49 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| server/src/codeql-development-mcp-server.ts | Bump server-reported VERSION constant to 2.25.1 |
| server/scripts/upgrade-packs.sh | Add logic to resolve/pin codeql/*-all deps when upgrading packs |
| server/ql/swift/tools/test/codeql-pack.yml | Bump pack version to 2.25.1 |
| server/ql/swift/tools/test/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/swift/tools/src/codeql-pack.yml | Bump pack version + update codeql/swift-all pin |
| server/ql/swift/tools/src/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/ruby/tools/test/codeql-pack.yml | Bump pack version to 2.25.1 |
| server/ql/ruby/tools/test/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/ruby/tools/src/codeql-pack.yml | Bump pack version + update codeql/ruby-all pin |
| server/ql/ruby/tools/src/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/python/tools/test/codeql-pack.yml | Bump pack version to 2.25.1 |
| server/ql/python/tools/test/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/python/tools/src/codeql-pack.yml | Bump pack version + update codeql/python-all pin |
| server/ql/python/tools/src/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/javascript/tools/test/codeql-pack.yml | Bump pack version to 2.25.1 |
| server/ql/javascript/tools/test/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/javascript/tools/src/codeql-pack.yml | Bump pack version + update codeql/javascript-all pin |
| server/ql/javascript/tools/src/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/javascript/examples/test/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/javascript/examples/src/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/java/tools/test/codeql-pack.yml | Bump pack version to 2.25.1 |
| server/ql/java/tools/test/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/java/tools/src/codeql-pack.yml | Bump pack version + update codeql/java-all pin |
| server/ql/java/tools/src/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/go/tools/test/codeql-pack.yml | Bump pack version to 2.25.1 |
| server/ql/go/tools/test/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/go/tools/src/codeql-pack.yml | Bump pack version + update codeql/go-all pin |
| server/ql/go/tools/src/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/csharp/tools/test/codeql-pack.yml | Bump pack version to 2.25.1 |
| server/ql/csharp/tools/test/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/csharp/tools/src/codeql-pack.yml | Bump pack version + update codeql/csharp-all pin |
| server/ql/csharp/tools/src/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/cpp/tools/test/codeql-pack.yml | Bump pack version to 2.25.1 |
| server/ql/cpp/tools/test/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/cpp/tools/src/codeql-pack.yml | Bump pack version + update codeql/cpp-all pin |
| server/ql/cpp/tools/src/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/actions/tools/test/codeql-pack.yml | Bump pack version to 2.25.1 |
| server/ql/actions/tools/test/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/ql/actions/tools/src/codeql-pack.yml | Bump pack version + update codeql/actions-all pin |
| server/ql/actions/tools/src/codeql-pack.lock.yml | Refresh resolved dependency versions for new CLI |
| server/package.json | Bump server package version to 2.25.1 |
| server/dist/codeql-development-mcp-server.js | Update built artifact’s embedded VERSION string |
| package.json | Bump workspace root version to 2.25.1 |
| package-lock.json | Regenerated lockfile reflecting bumped workspace versions |
| extensions/vscode/package.json | Bump VS Code extension version to 2.25.1 |
| client/package.json | Bump client package version to 2.25.1 |
| client/integration-tests/primitives/tools/codeql_bqrs_interpret/sarif_format/after/results.sarif | Update expected SARIF output to reflect CodeQL 2.25.1 |
| .codeql-version | Bump CodeQL CLI baseline to v2.25.1 |
|
@copilot apply changes based on the comments in this thread |
…packs.sh - Move `codeql pack upgrade` before the wildcard check so wildcard packs (e.g., javascript/examples/src) still get their lock files refreshed; only skip the pinning step for wildcard deps - Capture `codeql pack upgrade` output and print it to stderr on failure instead of silencing all output with >/dev/null 2>&1 - Update inline comment to reflect the new behaviour Agent-Logs-Url: https://github.com/advanced-security/codeql-development-mcp-server/sessions/7483057a-9273-4f33-aa96-a2f662c84d44 Co-authored-by: data-douser <70299490+data-douser@users.noreply.github.com>
Applied both fixes in commit 81540ab:
|
This PR upgrades the CodeQL CLI version to v2.25.1 and improves the
upgrade-packs.shscript based on review feedback.📝 Update Information
Primitive Details
upgrade-packs.shscript / CodeQL CLI version metadataThis PR is for updating an existing MCP server primitive and must ONLY include these file types:
✅ ALLOWED FILES:
server/src/**/*.ts)server/src/tools/*.ts)server/test/**/*.ts)README.md, server docs)server/src/types/*.ts)server/src/lib/*.ts)package.json,tsconfig.json)🚫 FORBIDDEN FILES:
Rationale: This PR should contain only the files necessary to update and test the primitive.
🚨 PRs that include forbidden files will be rejected and must be revised.
🛑 MANDATORY PR VALIDATION CHECKLIST
BEFORE SUBMITTING THIS PR, CONFIRM:
Update Metadata
🎯 Changes Description
Current Behavior
pin_upstream_depinupgrade-packs.shreturned early for wildcard deps (e.g.codeql/javascript-all: '*') before runningcodeql pack upgrade, so wildcard packs never had their lock files refreshed.codeql pack upgradeoutput was fully suppressed (>/dev/null 2>&1), making failures silent and hard to diagnose.Updated Behavior
pin_upstream_depalways runscodeql pack upgradefirst so every pack's lock file stays in sync with the CLI; only the version-pinning step is skipped for wildcard deps.codeql pack upgradeoutput is captured and printed to stderr on failure, giving clear diagnostic information in CI and local runs.Motivation
javascript/examples/src) were silently left with stale lock files on CLI upgrades — a correctness bug.upgrade-packs.shmade troubleshooting difficult.🔄 Before vs. After Comparison
Functionality Changes
API Changes
No API changes.
Output Format Changes
No output format changes.
🧪 Testing & Validation
Test Coverage Updates
Validation Scenarios
javascript/examples/src) now get their lock files refreshed on CLI upgrade.codeql pack upgradefailures now print full output to stderr instead of silently aborting.Test Results
📋 Implementation Details
Files Modified
server/scripts/upgrade-packs.sh.codeql-version,package.json,extensions/vscode/package.json,codeql-pack.ymlfiles updated to2.25.1codeql-pack.lock.ymlfiles regenerated across all languagespackage-lock.jsonregeneratedCode Changes Summary
pin_upstream_depnow always upgrades lock files before deciding whether to pincodeql pack upgradefailures now surface diagnostic outputDependencies
2.25.0to2.25.1; CodeQL pack lock files regenerated🔍 Quality Improvements
Bug Fixes
Issue: Wildcard packs (e.g.
server/ql/javascript/examples/src) had their lock files skipped during CLI upgrades.Root Cause: The early
returnfor wildcard deps inpin_upstream_depexecuted beforecodeql pack upgraderan.Solution: Moved
codeql pack upgradebefore the wildcard check; the early return now only skips pinning.Prevention: Script comment updated to document the new behaviour.
Issue: Silent
codeql pack upgradefailures made CI troubleshooting difficult.Root Cause: All output was redirected to
/dev/null.Solution: Output is now captured and printed to stderr on failure.
Prevention: Explicit error message with full command output on non-zero exit.
Code Quality Enhancements
🔗 References
Related Issues/PRs
External References
Validation Materials
javascript/examples/src(wildcard dep)🚀 Compatibility & Migration
Backward Compatibility
API Evolution
👥 Review Guidelines
For Reviewers
Please verify:
Testing Instructions
Validation Checklist
javascript/examples/srclock file is updated by the scriptcodeql pack upgradefailures print diagnostic output to stderr📊 Impact Assessment
Server Impact
AI Assistant Impact
🔄 Deployment Strategy
Rollout Considerations
upgrade-packs.shchanges and lock filesUpdate Methodology: This update follows best practices:
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.